#ifndef DYNAMICLAYER_H_
#define DYNAMICLAYER_H_

#include "gui/layers/Layer.h"
#include "gui/objects/GUIObjectsContainer.h"
#include "util/Observer.h"

namespace gui {

/* Clase Layer que se actualiza ante eventos del objeto al que observa. */
class DynamicLayer: public Layer, public Observer {
public:

	DynamicLayer();

	virtual ~DynamicLayer() {}

	/* Metodo para actualizar la posicion de la Surface dentro del Layer al
	 * dibujar otro GUIObject dentro de la Surface. */
	virtual void updateOffset(int x, int y);

	/* Metodo para redibujar la Surface. */
	virtual void updateSurface(GUIObjectsContainer objectsContainer);

};

}

#endif /* DYNAMICLAYER_H_ */
